package com.dd.ui.base;

import com.dd.R;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.SharedPreferences;
import android.content.DialogInterface.OnClickListener;
import android.content.pm.ActivityInfo;
import android.os.Bundle;
import android.preference.PreferenceManager;

public class BaseActivity extends Activity {

	private static final String TAG = "BaseActivity";
	protected SharedPreferences mPreferences;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		_onCreate(savedInstanceState);
	}
	
	// 因为onCreate方法无法返回状态，因此无法进行状态判断，
	// 为了能对上层返回的信息进行判断处理，我们使用_onCreate代替真正的
	// onCreate进行工作。onCreate仅在顶层调用_onCreate。
	protected boolean _onCreate(Bundle savedInstanceState) {
//		if (TwitterApplication.mPref.getBoolean(
//				Preferences.FORCE_SCREEN_ORIENTATION_PORTRAIT, false)) {
//			setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
//		}
//		if (!checkIsLogedIn()) {
//			return false;
//		} else {
//			PreferenceManager.setDefaultValues(this, R.xml.preferences, false);
//			mPreferences = TwitterApplication.mPref; // PreferenceManager.getDefaultSharedPreferences(this);

			return true;
//		}
	}
		
	public void logout() {
		Dialog dialog = new AlertDialog.Builder(BaseActivity.this)
			.setTitle("提示").setMessage("确实要注销吗?")
			.setPositiveButton("确定", new OnClickListener() {

				@Override
				public void onClick(DialogInterface dialog, int which) {
					_logout();
				}

			}).setNegativeButton("取消", new OnClickListener() {

				@Override
				public void onClick(DialogInterface dialog, int which) {
					dialog.dismiss();

				}

			}).create();
		dialog.show();
	}
	
	private void _logout() {
//		TwitterService.unschedule(BaseActivity.this);
//
//		getDb().clearData();
//		getApi().reset();

		// Clear SharedPreferences
		SharedPreferences.Editor editor = mPreferences.edit();
		editor.clear();
		editor.commit();

		// TODO: 提供用户手动情况所有缓存选项
//		TwitterApplication.mImageLoader.getImageManager().clear();

		// TODO: cancel notifications.
//		TwitterService.unschedule(BaseActivity.this);
//
//		handleLoggedOut();
	}
	
}
